Plot and fit distributions of variables
Histogram of Velocity of all
Log distribution, 0’s make up 3% of all data
CC.TotalData <- na.omit(TotalData)
head(CC.TotalData)
10^mean(log10(CC.TotalData$v[CC.TotalData$v>0]))
[1] 0.03398249
sd(log10(CC.TotalData$v[CC.TotalData$v>0]))
[1] 0.5665513
Now we’re going to plot each unique krill and their bimodality with a dip test (less than 0.05 is multimodality)
ind <- unique(CC.TotalData$D_V_T)
print(ind)
[1] 20191118_1__1 20191119_1__1 20191119_1__3 20191119_1__2 20191119_1__4 20191119_1__5 20191119_2__2 20191119_2__1 20191119_2__4
[10] 20191119_2__3 20191119_2__5 20191119_3__4 20191119_3__5 20191119_3__2 20191119_3__3 20191119_3__1 20191119_5__1 20191119_5__2
[19] 20191119_5__3 20191119_5__4 20191119_6__3 20191119_6__1 20191119_7__2 20191119_7__3 20191119_7__4 20191119_7__1 20191119_7__5
[28] 20191120_2__3 20191120_2__4 20191120_2__5 20191120_2__2 20191120_2__1 20191120_4__1 20191120_4__4 20191120_4__3 20191120_4__2
[37] 20191121_1__1 20191121_1__4 20191121_1__2 20191121_1__3 20191121_2__1 20191121_2__5 20191121_2__2 20191121_2__4 20191121_2__6
[46] 20191121_2__3 20191121_4__4 20191121_4__3 20191121_4__2 20191121_4__1 20191121_5__1 20191121_5__2 20191121_5__3 20191121_5__4
[55] 20191121_6__1 20191121_6__2 20191121_6__4 20191121_6__3 20191121_7__3 20191121_7__2 20191121_7__4 20191121_7__1 20191122_1__1
[64] 20191122_1__4 20191122_1__3 20191122_1__2 20191122_1a_1 20191122_1a_2 20191122_1a_3 20191122_1a_4 20191122_2__1 20191122_2__2
[73] 20191122_2__4 20191122_2__3 20191122_3__2 20191122_3__1 20191122_3__3 20191122_3__4 20191122_4__2 20191122_4__3 20191122_4__4
[82] 20191122_4__1 20191123_4__1 20191123_4__2 20191123_4__3 20191123_4__4 20191124_10_1 20191124_10_2 20191124_5__1 20191124_5__2
[91] 20191124_6__2 20191124_6__1 20191124_8__1 20191124_8__2 20191127_1__1 20191127_1__2 20191127_1__7 20191127_1__3 20191127_1__4
[100] 20191127_1__5 20191127_1__6 20191127_2__4 20191127_2__1 20191127_2__2 20191127_2__3 20191127_3__1 20191127_3__2 20191127_3__3
[109] 20191127_3__4 20191127_4__2 20191127_4__1 20191127_4__3 20191127_4__4 20191127_4__5 20191127_4__6 20191127_5__1 20191127_5__2
[118] 20191127_5__3 20191127_5__4 20191127_6__2 20191127_6__1 20191127_6__3 20191127_6__4 20191127_6__5 20191127_6__6 20191127_8__1
[127] 20191127_8__2 20191127_8__3 20191127_8__4 20191127_8__5 20191127_8__6 20191127_8__7 20191129_1__1 20191129_1__2 20191129_1__3
[136] 20191129_1__4 20191129_2__1 20191129_2__2 20191129_2__3 20191129_2__4 20191129_3__1 20191129_3__2 20191129_3__3 20191129_3__4
[145] 20191129_4__1 20191129_4__2 20191129_4__3 20191129_4__4 20191129_5__1 20191129_5__2 20191129_5__3 20191129_5__4 20191129_6__1
[154] 20191129_6__2 20191129_6__3 20191129_6__4 20191129_7a_1 20191129_7a_2 20191129_7a_3 20191129_7a_4 20191129_8__1 20191129_8__2
[163] 20191129_8__3 20191129_8__4 20191130_1__1 20191130_1__2 20191130_1__3 20191130_1__4 20191130_2__1 20191130_2__2 20191130_2__3
[172] 20191130_2__4 20191130_3__1 20191130_3__2 20191130_3__3 20191130_3__4 20191130_6__1 20191130_6__2 20191130_6__3 20191130_6__4
[181] 20191130_6__5 20191201_2__1 20191201_2__2 20191201_2__3 20191201_2__4 20191201_4__1 20191201_4__2 20191201_4__3 20191201_4__4
[190] 20191201_5__1 20191201_5__2 20191201_5__3 20191201_5__4 20191202_1__1 20191202_1__2 20191202_1__3 20191202_1__4 20191202_4__1
[199] 20191202_4__2 20191202_4__3 20191202_4__4 20191204_2__1 20191204_2__2 20191204_2__3 20191204_2__4 20191204_4__1 20191204_4__2
[208] 20191204_4__3 20191204_4__4 20191204_6__1 20191204_6__2 20191204_6__3 20191204_6__4 20191205_10_1 20191205_10_2 20191205_10_3
[217] 20191205_10_4 20191205_12_1 20191205_12_2 20191205_12_3 20191205_12_4 20191205_6__1 20191205_6__2 20191205_6__3 20191205_6__4
[226] 20191205_7__1 20191205_7__2 20191205_7__3 20191205_7__4 20191206_2b_1 20191206_2b_2 20191206_2b_3 20191206_2b_4 20191206_5__1
[235] 20191206_5__2 20191206_5__3 20191206_5__4 20191206_6__1 20191206_6__2 20191206_6__3 20191206_6__4 20191206_7__1 20191206_7__2
[244] 20191206_7__3 20191206_7__4 20191212_3__1 20191212_3__2 20191212_3__3 20191212_4__1 20191212_4__2 20191212_4__3 20191212_7__1
[253] 20191212_7__2 20191212_7__3 20191212_8__1 20191212_8__2 20191212_8__3
303 Levels: 20191118_1__1 20191119_1__1 20191119_1__2 20191119_1__3 20191119_1__4 20191119_1__5 20191119_2__1 ... 20191212_8__4
length(ind)
[1] 257
library(diptest)
library(DescTools)
Registered S3 method overwritten by 'data.table':
method from
print.data.table
tab <- matrix(data = NA, nrow = 133, ncol =5, byrow = T)
colnames(tab) <- c('dip.test', 'skew', 'mean.velocity', 'sd.velocity', 'Ind')
tab <- as.data.frame(tab)
tab$Ind <- ind
Error in `$<-.data.frame`(`*tmp*`, Ind, value = c(1L, 2L, 4L, 3L, 5L, :
replacement has 257 rows, data has 133
Now looking at turning angles
TotalData$turn.anglexy <- atan2(TotalData$X, TotalData$Y)
TotalData$turn.angleyz <- atan2(TotalData$Y, TotalData$Z)
lth <- dim(TotalData)[1]
dx1 <- TotalData$dx[1:(lth-1)]
dx2 <- TotalData$dx[2:lth]
dy1 <- TotalData$dy[1:(lth-1)]
dy2 <- TotalData$dy[2:lth]
dz1 <- TotalData$dz[1:(lth-1)]
dz2 <- TotalData$dz[2:lth]
D <- (dx1*dx2)+(dy1*dy2)+(dz1*dz2)
d1 <- sqrt(dx1^2 + dy1^2 +dz1^2)
d2 <- sqrt(dx2^2 + dy2^2 +dz2^2)
dd <- D/d1/d2
hist(acos(dd)/pi*180)
Warning in acos(dd) : NaNs produced
TotalData$turn.angle <- c(NA, acos(D/d1/d2))/pi*180
Warning in acos(D/d1/d2) : NaNs produced
head(TotalData)
CC.TotalData <- na.omit(TotalData)
head(CC.TotalData)
tail(CC.TotalData)
str(CC.TotalData)
'data.frame': 2187011 obs. of 26 variables:
$ Date : chr "20191118" "20191118" "20191118" "20191118" ...
$ File.name : chr "20191118_view1_" "20191118_view1_" "20191118_view1_" "20191118_view1_" ...
$ X : num 0.163 0.18 0.327 0.167 0.158 ...
$ Y : num 0.0405 0.0373 0.0717 0.0891 0.113 ...
$ Z : num -0.0774 -0.0835 -0.0595 -0.1104 -0.0953 ...
$ Track : int 1 1 1 1 1 1 1 1 1 1 ...
$ View : chr "1_" "1_" "1_" "1_" ...
$ D_V_T : Factor w/ 303 levels "20191118_1__1",..: 1 1 1 1 1 1 1 1 1 1 ...
$ D_V : Factor w/ 69 levels "20191118_1_",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Flow.rate : num 0 0 0 0 0 0 0 0 0 0 ...
$ Chlorophyll : num 0 0 0 0 0 0 0 0 0 0 ...
$ Guano : chr "Absent" "Absent" "Absent" "Absent" ...
$ Light : chr "Present" "Present" "Present" "Present" ...
$ dx : num 0.00283 0.00282 -0.00115 0 -0.00289 ...
$ dy : num -0.00183 0.00505 -0.00196 0.00511 0.00535 ...
$ dz : num 0.00056 -0.00112 -0.00112 0.00112 0.00168 ...
$ d : num 0.00342 0.00589 0.00253 0.00523 0.00631 ...
$ vx : num 0.0849 0.0846 -0.0345 0 -0.0867 ...
$ vy : num -0.0548 0.1514 -0.0587 0.1533 0.1605 ...
$ vz : num 0.0168 -0.0335 -0.0335 0.0336 0.0503 ...
$ v : num 0.1025 0.1767 0.0759 0.157 0.1892 ...
$ heading : num -0.997 0.509 0.531 0 -0.495 ...
$ pitch : num 0.165 -0.191 -0.458 0.216 0.269 ...
$ turn.anglexy: num 1.33 1.37 1.36 1.08 0.95 ...
$ turn.angleyz: num 2.66 2.72 2.26 2.46 2.27 ...
$ turn.angle : num 31.1 59.3 12.1 26.6 16.7 ...
- attr(*, "na.action")= 'omit' Named int [1:1183291] 1 2 3 4 5 6 7 8 9 10 ...
..- attr(*, "names")= chr [1:1183291] "80" "96" "106" "118" ...
CC.TotalData$Flow.rate <- as.character(CC.TotalData$Flow.rate)
CC.TotalData$Chlorophyll<- as.character(CC.TotalData$Chlorophyll)
CC.TotalData$Guano <- as.character(CC.TotalData$Guano)
CC.TotalData$Light <- as.character(CC.TotalData$Light)
CC.TotalData$Flow.rate <- as.numeric(CC.TotalData$Flow.rate)
CC.TotalData$Chlorophyll<- as.numeric(CC.TotalData$Chlorophyll)
head(CC.TotalData)